// pages/profile/profile.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: null,
    userStats: {
      totalOrders: 0,
      coupons: 0,
      favorites: 0,
      reviews: 0
    },
    orderCounts: {
      pendingPayment: 0,
      preparing: 0,
      delivering: 0
    },
    showLoginModal: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.loadUserInfo();
    this.loadUserStats();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    console.log('个人中心页面准备完成');
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 每次显示页面时刷新数据
    this.loadUserInfo();
    this.loadUserStats();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    // 页面隐藏时的处理
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    // 页面卸载时的处理
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.loadUserInfo();
    this.loadUserStats();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 上拉触底处理
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '美食点餐 - 发现身边美食',
      path: '/pages/index/index',
      imageUrl: '/images/share-cover.png'
    };
  },

  // 加载用户信息
  loadUserInfo() {
    // 从本地存储获取用户信息
    const userInfo = wx.getStorageSync('userInfo');
    if (userInfo) {
      this.setData({ userInfo });
    } else {
      // 如果没有用户信息，创建一个测试用户（仅用于演示）
      const testUser = {
        id: 999,
        nickname: '演示用户',
        email: 'demo@example.com',
        avatarUrl: '/images/default-avatar.png'
      };
      
      // 可以选择是否自动登录演示用户
      // this.setData({ userInfo: testUser });
      // wx.setStorageSync('userInfo', testUser);
    }
  },

  // 加载用户统计数据
  loadUserStats() {
    // 模拟数据，实际应该从后端API获取
    const userStats = {
      totalOrders: 15,
      coupons: 3,
      favorites: 8,
      reviews: 12
    };
    
    const orderCounts = {
      pendingPayment: 1,
      preparing: 2,
      delivering: 1
    };

    this.setData({
      userStats,
      orderCounts
    });
  },

  // 跳转到登录页面
  goToLogin() {
    wx.navigateTo({
      url: '/pages/login/login'
    });
  },

  // 编辑个人资料
  editProfile() {
    wx.navigateTo({
      url: '/pages/profile-edit/profile-edit'
    });
  },

  // 跳转到订单列表
  goToOrderList(e) {
    const status = e.currentTarget.dataset.status || 'all';
    wx.switchTab({
      url: '/pages/order-list/order-list'
    });
  },

  // 跳转到优惠券页面
  goToCoupons() {
    if (!this.checkLogin()) return;
    
    wx.navigateTo({
      url: '/pages/coupon/coupon'
    });
  },

  // 跳转到收藏页面
  goToFavorites() {
    if (!this.checkLogin()) return;
    
    wx.switchTab({
      url: '/pages/favorite/favorite'
    });
  },

  // 跳转到评价页面
  goToReviews() {
    if (!this.checkLogin()) return;
    
    wx.navigateTo({
      url: '/pages/review-list/review-list'
    });
  },

  // 跳转到收货地址页面
  goToAddresses() {
    if (!this.checkLogin()) return;
    
    wx.navigateTo({
      url: '/pages/address/address'
    });
  },

  // 跳转到帮助中心
  goToHelp() {
    wx.navigateTo({
      url: '/pages/help/help'
    });
  },

  // 联系客服
  contactService() {
    wx.showModal({
      title: '联系客服',
      content: '客服电话：400-123-4567\n工作时间：9:00-21:00',
      showCancel: false,
      confirmText: '知道了'
    });
  },

  // 跳转到设置页面
  goToSettings() {
    wx.navigateTo({
      url: '/pages/settings/settings'
    });
  },

  // 跳转到关于我们页面
  goToAbout() {
    wx.navigateTo({
      url: '/pages/about/about'
    });
  },

  // 退出登录
  logout() {
    wx.showModal({
      title: '退出登录',
      content: '确定要退出登录吗？',
      success: (res) => {
        if (res.confirm) {
          // 清除本地存储的用户信息
          wx.removeStorageSync('userInfo');
          wx.removeStorageSync('token');
          
          // 更新页面数据
          this.setData({
            userInfo: null,
            userStats: {
              totalOrders: 0,
              coupons: 0,
              favorites: 0,
              reviews: 0
            },
            orderCounts: {
              pendingPayment: 0,
              preparing: 0,
              delivering: 0
            }
          });
          
          wx.showToast({
            title: '已退出登录',
            icon: 'success'
          });
        }
      }
    });
  },

  // 检查登录状态
  checkLogin() {
    if (!this.data.userInfo) {
      this.setData({ showLoginModal: true });
      return false;
    }
    return true;
  },

  // 显示登录提示弹窗
  showLoginModal() {
    this.setData({ showLoginModal: true });
  },

  // 隐藏登录提示弹窗
  hideLoginModal() {
    this.setData({ showLoginModal: false });
  },

  // 阻止事件冒泡
  stopPropagation() {
    // 空方法，用于阻止事件冒泡
  }
})